package com.xbfinance.manager.pojo.po;

import java.util.ArrayList;
import java.util.List;

public class P2pAccountExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public P2pAccountExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUseridIsNull() {
            addCriterion("userid is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userid is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Integer value) {
            addCriterion("userid =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Integer value) {
            addCriterion("userid <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Integer value) {
            addCriterion("userid >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("userid >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Integer value) {
            addCriterion("userid <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Integer value) {
            addCriterion("userid <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Integer> values) {
            addCriterion("userid in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Integer> values) {
            addCriterion("userid not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Integer value1, Integer value2) {
            addCriterion("userid between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Integer value1, Integer value2) {
            addCriterion("userid not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyIsNull() {
            addCriterion("totalmoney is null");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyIsNotNull() {
            addCriterion("totalmoney is not null");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyEqualTo(Double value) {
            addCriterion("totalmoney =", value, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyNotEqualTo(Double value) {
            addCriterion("totalmoney <>", value, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyGreaterThan(Double value) {
            addCriterion("totalmoney >", value, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("totalmoney >=", value, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyLessThan(Double value) {
            addCriterion("totalmoney <", value, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyLessThanOrEqualTo(Double value) {
            addCriterion("totalmoney <=", value, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyIn(List<Double> values) {
            addCriterion("totalmoney in", values, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyNotIn(List<Double> values) {
            addCriterion("totalmoney not in", values, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyBetween(Double value1, Double value2) {
            addCriterion("totalmoney between", value1, value2, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andTotalmoneyNotBetween(Double value1, Double value2) {
            addCriterion("totalmoney not between", value1, value2, "totalmoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyIsNull() {
            addCriterion("usemoney is null");
            return (Criteria) this;
        }

        public Criteria andUsemoneyIsNotNull() {
            addCriterion("usemoney is not null");
            return (Criteria) this;
        }

        public Criteria andUsemoneyEqualTo(Double value) {
            addCriterion("usemoney =", value, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyNotEqualTo(Double value) {
            addCriterion("usemoney <>", value, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyGreaterThan(Double value) {
            addCriterion("usemoney >", value, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("usemoney >=", value, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyLessThan(Double value) {
            addCriterion("usemoney <", value, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyLessThanOrEqualTo(Double value) {
            addCriterion("usemoney <=", value, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyIn(List<Double> values) {
            addCriterion("usemoney in", values, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyNotIn(List<Double> values) {
            addCriterion("usemoney not in", values, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyBetween(Double value1, Double value2) {
            addCriterion("usemoney between", value1, value2, "usemoney");
            return (Criteria) this;
        }

        public Criteria andUsemoneyNotBetween(Double value1, Double value2) {
            addCriterion("usemoney not between", value1, value2, "usemoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyIsNull() {
            addCriterion("frostmoney is null");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyIsNotNull() {
            addCriterion("frostmoney is not null");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyEqualTo(Double value) {
            addCriterion("frostmoney =", value, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyNotEqualTo(Double value) {
            addCriterion("frostmoney <>", value, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyGreaterThan(Double value) {
            addCriterion("frostmoney >", value, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("frostmoney >=", value, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyLessThan(Double value) {
            addCriterion("frostmoney <", value, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyLessThanOrEqualTo(Double value) {
            addCriterion("frostmoney <=", value, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyIn(List<Double> values) {
            addCriterion("frostmoney in", values, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyNotIn(List<Double> values) {
            addCriterion("frostmoney not in", values, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyBetween(Double value1, Double value2) {
            addCriterion("frostmoney between", value1, value2, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andFrostmoneyNotBetween(Double value1, Double value2) {
            addCriterion("frostmoney not between", value1, value2, "frostmoney");
            return (Criteria) this;
        }

        public Criteria andHaveinterestIsNull() {
            addCriterion("haveinterest is null");
            return (Criteria) this;
        }

        public Criteria andHaveinterestIsNotNull() {
            addCriterion("haveinterest is not null");
            return (Criteria) this;
        }

        public Criteria andHaveinterestEqualTo(Double value) {
            addCriterion("haveinterest =", value, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestNotEqualTo(Double value) {
            addCriterion("haveinterest <>", value, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestGreaterThan(Double value) {
            addCriterion("haveinterest >", value, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestGreaterThanOrEqualTo(Double value) {
            addCriterion("haveinterest >=", value, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestLessThan(Double value) {
            addCriterion("haveinterest <", value, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestLessThanOrEqualTo(Double value) {
            addCriterion("haveinterest <=", value, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestIn(List<Double> values) {
            addCriterion("haveinterest in", values, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestNotIn(List<Double> values) {
            addCriterion("haveinterest not in", values, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestBetween(Double value1, Double value2) {
            addCriterion("haveinterest between", value1, value2, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andHaveinterestNotBetween(Double value1, Double value2) {
            addCriterion("haveinterest not between", value1, value2, "haveinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestIsNull() {
            addCriterion("waitinterest is null");
            return (Criteria) this;
        }

        public Criteria andWaitinterestIsNotNull() {
            addCriterion("waitinterest is not null");
            return (Criteria) this;
        }

        public Criteria andWaitinterestEqualTo(Double value) {
            addCriterion("waitinterest =", value, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestNotEqualTo(Double value) {
            addCriterion("waitinterest <>", value, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestGreaterThan(Double value) {
            addCriterion("waitinterest >", value, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestGreaterThanOrEqualTo(Double value) {
            addCriterion("waitinterest >=", value, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestLessThan(Double value) {
            addCriterion("waitinterest <", value, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestLessThanOrEqualTo(Double value) {
            addCriterion("waitinterest <=", value, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestIn(List<Double> values) {
            addCriterion("waitinterest in", values, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestNotIn(List<Double> values) {
            addCriterion("waitinterest not in", values, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestBetween(Double value1, Double value2) {
            addCriterion("waitinterest between", value1, value2, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaitinterestNotBetween(Double value1, Double value2) {
            addCriterion("waitinterest not between", value1, value2, "waitinterest");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyIsNull() {
            addCriterion("waittotalmoney is null");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyIsNotNull() {
            addCriterion("waittotalmoney is not null");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyEqualTo(Double value) {
            addCriterion("waittotalmoney =", value, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyNotEqualTo(Double value) {
            addCriterion("waittotalmoney <>", value, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyGreaterThan(Double value) {
            addCriterion("waittotalmoney >", value, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("waittotalmoney >=", value, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyLessThan(Double value) {
            addCriterion("waittotalmoney <", value, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyLessThanOrEqualTo(Double value) {
            addCriterion("waittotalmoney <=", value, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyIn(List<Double> values) {
            addCriterion("waittotalmoney in", values, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyNotIn(List<Double> values) {
            addCriterion("waittotalmoney not in", values, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyBetween(Double value1, Double value2) {
            addCriterion("waittotalmoney between", value1, value2, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andWaittotalmoneyNotBetween(Double value1, Double value2) {
            addCriterion("waittotalmoney not between", value1, value2, "waittotalmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyIsNull() {
            addCriterion("expmoney is null");
            return (Criteria) this;
        }

        public Criteria andExpmoneyIsNotNull() {
            addCriterion("expmoney is not null");
            return (Criteria) this;
        }

        public Criteria andExpmoneyEqualTo(Double value) {
            addCriterion("expmoney =", value, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyNotEqualTo(Double value) {
            addCriterion("expmoney <>", value, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyGreaterThan(Double value) {
            addCriterion("expmoney >", value, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("expmoney >=", value, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyLessThan(Double value) {
            addCriterion("expmoney <", value, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyLessThanOrEqualTo(Double value) {
            addCriterion("expmoney <=", value, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyIn(List<Double> values) {
            addCriterion("expmoney in", values, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyNotIn(List<Double> values) {
            addCriterion("expmoney not in", values, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyBetween(Double value1, Double value2) {
            addCriterion("expmoney between", value1, value2, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpmoneyNotBetween(Double value1, Double value2) {
            addCriterion("expmoney not between", value1, value2, "expmoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyIsNull() {
            addCriterion("expusemoney is null");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyIsNotNull() {
            addCriterion("expusemoney is not null");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyEqualTo(Double value) {
            addCriterion("expusemoney =", value, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyNotEqualTo(Double value) {
            addCriterion("expusemoney <>", value, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyGreaterThan(Double value) {
            addCriterion("expusemoney >", value, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("expusemoney >=", value, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyLessThan(Double value) {
            addCriterion("expusemoney <", value, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyLessThanOrEqualTo(Double value) {
            addCriterion("expusemoney <=", value, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyIn(List<Double> values) {
            addCriterion("expusemoney in", values, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyNotIn(List<Double> values) {
            addCriterion("expusemoney not in", values, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyBetween(Double value1, Double value2) {
            addCriterion("expusemoney between", value1, value2, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andExpusemoneyNotBetween(Double value1, Double value2) {
            addCriterion("expusemoney not between", value1, value2, "expusemoney");
            return (Criteria) this;
        }

        public Criteria andSignIsNull() {
            addCriterion("sign is null");
            return (Criteria) this;
        }

        public Criteria andSignIsNotNull() {
            addCriterion("sign is not null");
            return (Criteria) this;
        }

        public Criteria andSignEqualTo(String value) {
            addCriterion("sign =", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignNotEqualTo(String value) {
            addCriterion("sign <>", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignGreaterThan(String value) {
            addCriterion("sign >", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignGreaterThanOrEqualTo(String value) {
            addCriterion("sign >=", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignLessThan(String value) {
            addCriterion("sign <", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignLessThanOrEqualTo(String value) {
            addCriterion("sign <=", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignLike(String value) {
            addCriterion("sign like", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignNotLike(String value) {
            addCriterion("sign not like", value, "sign");
            return (Criteria) this;
        }

        public Criteria andSignIn(List<String> values) {
            addCriterion("sign in", values, "sign");
            return (Criteria) this;
        }

        public Criteria andSignNotIn(List<String> values) {
            addCriterion("sign not in", values, "sign");
            return (Criteria) this;
        }

        public Criteria andSignBetween(String value1, String value2) {
            addCriterion("sign between", value1, value2, "sign");
            return (Criteria) this;
        }

        public Criteria andSignNotBetween(String value1, String value2) {
            addCriterion("sign not between", value1, value2, "sign");
            return (Criteria) this;
        }

        public Criteria andWarningIsNull() {
            addCriterion("warning is null");
            return (Criteria) this;
        }

        public Criteria andWarningIsNotNull() {
            addCriterion("warning is not null");
            return (Criteria) this;
        }

        public Criteria andWarningEqualTo(Boolean value) {
            addCriterion("warning =", value, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningNotEqualTo(Boolean value) {
            addCriterion("warning <>", value, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningGreaterThan(Boolean value) {
            addCriterion("warning >", value, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningGreaterThanOrEqualTo(Boolean value) {
            addCriterion("warning >=", value, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningLessThan(Boolean value) {
            addCriterion("warning <", value, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningLessThanOrEqualTo(Boolean value) {
            addCriterion("warning <=", value, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningIn(List<Boolean> values) {
            addCriterion("warning in", values, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningNotIn(List<Boolean> values) {
            addCriterion("warning not in", values, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningBetween(Boolean value1, Boolean value2) {
            addCriterion("warning between", value1, value2, "warning");
            return (Criteria) this;
        }

        public Criteria andWarningNotBetween(Boolean value1, Boolean value2) {
            addCriterion("warning not between", value1, value2, "warning");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}